<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content=
    "application/xhtml+xml; charset=iso-8859-1" />
    <title>
      2.2.&nbsp;Creating a New Partition
    </title>
    <link rel="stylesheet" href="../stylesheets/lfs.css" type="text/css" />
    <meta name="generator" content="DocBook XSL Stylesheets V1.73.2" />
    <link rel="stylesheet" href="../stylesheets/lfs-print.css" type=
    "text/css" media="print" />
  </head>
  <body class="lfs" id="lfs-7.3">
    <div class="navheader">
      <h4>
        Linux From Scratch - Version 7.3
      </h4>
      <h3>
        Chapter&nbsp;2.&nbsp;Preparing a New Partition
      </h3>
      <ul>
        <li class="prev">
          <a accesskey="p" href="introduction.html" title=
          "Introduction">Prev</a>
          <p>
            Introduction
          </p>
        </li>
        <li class="next">
          <a accesskey="n" href="creatingfilesystem.html" title=
          "Creating a File System on the Partition">Next</a>
          <p>
            Creating a File System on the Partition
          </p>
        </li>
        <li class="up">
          <a accesskey="u" href="chapter02.html" title=
          "Chapter&nbsp;2.&nbsp;Preparing a New Partition">Up</a>
        </li>
        <li class="home">
          <a accesskey="h" href="../index.html" title=
          "Linux From Scratch - Version 7.3">Home</a>
        </li>
      </ul>
    </div>
    <div class="sect1" lang="en" xml:lang="en">
      <h1 class="sect1">
        <a id="space-creatingpartition" name=
        "space-creatingpartition"></a>2.2. Creating a New Partition
      </h1>
      <p>
        Like most other operating systems, LFS is usually installed on a
        dedicated partition. The recommended approach to building an LFS
        system is to use an available empty partition or, if you have enough
        unpartitioned space, to create one.
      </p>
      <p>
        A minimal system requires a partition of around 2.8 gigabytes (GB).
        This is enough to store all the source tarballs and compile the
        packages. However, if the LFS system is intended to be the primary
        Linux system, additional software will probably be installed which
        will require additional space. A 10 GB partition is a reasonable size
        to provide for growth. The LFS system itself will not take up this
        much room. A large portion of this requirement is to provide
        sufficient free temporary storage. Compiling packages can require a
        lot of disk space which will be reclaimed after the package is
        installed.
      </p>
      <p>
        Because there is not always enough Random Access Memory (RAM)
        available for compilation processes, it is a good idea to use a small
        disk partition as <code class="systemitem">swap</code> space. This is
        used by the kernel to store seldom-used data and leave more memory
        available for active processes. The <code class=
        "systemitem">swap</code> partition for an LFS system can be the same
        as the one used by the host system, in which case it is not necessary
        to create another one.
      </p>
      <p>
        Start a disk partitioning program such as <span class=
        "command"><strong>cfdisk</strong></span> or <span class=
        "command"><strong>fdisk</strong></span> with a command line option
        naming the hard disk on which the new partition will be
        created&mdash;for example <code class="filename">/dev/hda</code> for
        the primary Integrated Drive Electronics (IDE) disk. Create a Linux
        native partition and a <code class="systemitem">swap</code>
        partition, if needed. Please refer to <code class=
        "filename">cfdisk(8)</code> or <code class="filename">fdisk(8)</code>
        if you do not yet know how to use the programs.
      </p>
      <div class="admon note">
        <img alt="[Note]" src="../images/note.png" />
        <h3>
          Note
        </h3>
        <p>
          For experienced users, other partitioning schemes are possible. The
          new LFS system can be on a software <a class="ulink" href=
          "http://www.linuxfromscratch.org/blfs//view/svn/postlfs/raid.html">RAID</a>
          array or an <a class="ulink" href=
          "http://www.linuxfromscratch.org/blfs//view/svn/postlfs/aboutlvm.html">
          LVM</a> logical volume. However, some of these options require an
          <a class="ulink" href=
          "http://www.linuxfromscratch.org/blfs//view/svn/postlfs/initramfs.html">
          initramfs</a>, which is an advanced topic. These partitioning
          methodologies are not recommended for first time LFS users.
        </p>
      </div>
      <p>
        Remember the designation of the new partition (e.g., <code class=
        "filename">hda5</code>). This book will refer to this as the LFS
        partition. Also remember the designation of the <code class=
        "systemitem">swap</code> partition. These names will be needed later
        for the <code class="filename">/etc/fstab</code> file.
      </p>
      <div class="sect2" lang="en" xml:lang="en">
        <h2 class="sect2">
          2.2.1. Other Partition Issues
        </h2>
        <p>
          Requests for advice on system partitioning are often posted on the
          LFS mailing lists. This is a highly subjective topic. The default
          for most distributions is to use the entire drive with the
          exception of one small swap partition. This is not optimal for LFS
          for several reasons. It reduces flexibility, makes sharing of data
          across multiple distributions or LFS builds more difficult, makes
          backups more time consuming, and can waste disk space through
          inefficient allocation of file system structures.
        </p>
        <div class="sect3" lang="en" xml:lang="en">
          <h3 class="sect3">
            2.2.1.1. The Root Partition
          </h3>
          <p>
            A root LFS partition (not to be confused with the <code class=
            "filename">/root</code> directory) of ten gigabytes is a good
            compromise for most systems. It provides enough space to build
            LFS and most of BLFS, but is small enough so that multiple
            partitions can be easily created for experimentation.
          </p>
        </div>
        <div class="sect3" lang="en" xml:lang="en">
          <h3 class="sect3">
            2.2.1.2. The Swap Partition
          </h3>
          <p>
            Most distributions automatically create a swap partition.
            Generally the recommended size of the swap partition is about
            twice the amount of physical RAM, however this is rarely needed.
            If disk space is limited, hold the swap partition to two
            gigabytes and monitor the amount of disk swapping.
          </p>
          <p>
            Swapping is never good. Generally you can tell if a system is
            swapping by just listening to disk activity and observing how the
            system reacts to commands. The first reaction to swapping should
            be to check for an unreasonable command such as trying to edit a
            five gigabyte file. If swapping becomes a normal occurrence, the
            best solution is to purchase more RAM for your system.
          </p>
        </div>
        <div class="sect3" lang="en" xml:lang="en">
          <h3 class="sect3">
            2.2.1.3. Convenience Partitions
          </h3>
          <p>
            There are several other partitions that are not required, but
            should be considered when designing a disk layout. The following
            list is not comprehensive, but is meant as a guide.
          </p>
          <div class="itemizedlist">
            <ul>
              <li>
                <p>
                  /boot &ndash; Highly recommended. Use this partition to
                  store kernels and other booting information. To minimize
                  potential boot problems with larger disks, make this the
                  first physical partition on your first disk drive. A
                  partition size of 100 megabytes is quite adequate.
                </p>
              </li>
              <li>
                <p>
                  /home &ndash; Highly recommended. Share your home directory
                  and user customization across multiple distributions or LFS
                  builds. The size is generally fairly large and depends on
                  available disk space.
                </p>
              </li>
              <li>
                <p>
                  /usr &ndash; A separate /usr partition is generally used if
                  providing a server for a thin client or diskless
                  workstation. It is normally not needed for LFS. A size of
                  five gigabytes will handle most installations.
                </p>
              </li>
              <li>
                <p>
                  /opt &ndash; This directory is most useful for BLFS where
                  multiple installations of large packages like Gnome or KDE
                  can be installed without embedding the files in the /usr
                  hierarchy. If used, 5 to 10 gigabytes is generally
                  adequate.
                </p>
              </li>
              <li>
                <p>
                  /tmp &ndash; A separate /tmp directory is rare, but useful
                  if configuring a thin client. This partition, if used, will
                  usually not need to exceed a couple of gigabytes.
                </p>
              </li>
              <li>
                <p>
                  /usr/src &ndash; This partition is very useful for
                  providing a location to store BLFS source files and share
                  them across LFS builds. It can also be used as a location
                  for building BLFS packages. A reasonably large partition of
                  30-50 gigabytes allows plenty of room.
                </p>
              </li>
            </ul>
          </div>
          <p>
            Any separate partition that you want automatically mounted upon
            boot needs to be specified in the <code class=
            "filename">/etc/fstab</code>. Details about how to specify
            partitions will be discussed in <a class="xref" href=
            "../chapter08/fstab.html" title=
            "8.2.&nbsp;Creating the /etc/fstab File">Section&nbsp;8.2,
            &ldquo;Creating the /etc/fstab File&rdquo;</a>.
          </p>
        </div>
      </div>
    </div>
    <div class="navfooter">
      <ul>
        <li class="prev">
          <a accesskey="p" href="introduction.html" title=
          "Introduction">Prev</a>
          <p>
            Introduction
          </p>
        </li>
        <li class="next">
          <a accesskey="n" href="creatingfilesystem.html" title=
          "Creating a File System on the Partition">Next</a>
          <p>
            Creating a File System on the Partition
          </p>
        </li>
        <li class="up">
          <a accesskey="u" href="chapter02.html" title=
          "Chapter&nbsp;2.&nbsp;Preparing a New Partition">Up</a>
        </li>
        <li class="home">
          <a accesskey="h" href="../index.html" title=
          "Linux From Scratch - Version 7.3">Home</a>
        </li>
      </ul>
    </div>
  </body>
</html>
